package DataStructureAndAlgorithm.CSP.Day03;
import java.util.Scanner;
public class AcWing_3202 {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        boolean[] st = new boolean[10010];
        int n = in.nextInt();
        boolean temp = false;
        int[] nums = new int[n + 1];
        for (int i = 0; i < n; i++){
            nums[i] = in.nextInt();
            //偏移量为1，处理掉0
            st[nums[i]] = true;
        }
        int res = 0;
        for (int i = 0; i < n; i++){
            if (nums[i] - 1 > 0 && st[nums[i] - 1] == true){
                res++;
            }
            if (st[nums[i] + 1] == true){
                if (nums[i] == 0)res += 2;
                else
                    res++;
            }
        }
        System.out.print(res/2);
    }
}
/*
给定 n 个不同的整数，问这些数中有多少对整数，它们的值正好相差 1

。
输出格式

输入的第一行包含一个整数 n

，表示给定整数的个数。

第二行包含所给定的 n

个整数。
输出格式

输出一个整数，表示值正好相差 1

的数对的个数。
数据范围

1≤n≤1000
,
给定的整数为不超过 10000

的非负整数。
输入样例：

6
10 2 6 3 7 8

输出样例：

3

样例解释

值正好相差 1
的数对包括 (2,3),(6,7),(7,8)。
 */